//
//  Problem557.swift
//  TestProject
//
//  Created by 武侠 on 2021/3/16.
//  Copyright © 2021 zhulong. All rights reserved.
//

import UIKit

/*
 557. 反转字符串中的单词 III
 给定一个字符串，你需要反转字符串中每个单词的字符顺序，同时仍保留空格和单词的初始顺序。

 示例：
     输入："Let's take LeetCode contest"
     输出："s'teL ekat edoCteeL tsetnoc"

 提示：
    在字符串中，每个单词由单个空格分隔，并且字符串中不会有任何额外的空格。
 */
@objcMembers class Problem557: NSObject {
    func solution() {
        print(reverseWords("Let's take LeetCode contest"))
    }
    
    /*
     1:设置空格所在的位置：index
     2:在index处插入字符
     */
    func reverseWords(_ s: String) -> String {
        var charts:[Character] = []
        var index: Int = 0
        for (i,c) in s.enumerated() {
            if c != " " {
                charts.insert(c, at: index)
            } else {
                charts.append(c)
                index = i+1
            }
        }
        
        return String(charts)
    }
}
